//package com.sskj.aex.v.fragment;
//
//import android.animation.ValueAnimator;
//import android.os.Bundle;
//import android.support.annotation.Nullable;
//import android.support.v7.widget.LinearLayoutManager;
//import android.support.v7.widget.RecyclerView;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.TextView;
//
//import com.scwang.smartrefresh.layout.SmartRefreshLayout;
//import com.sskj.keiex.common.ClassicsHeader;
//import com.sskj.aex.R;
//import com.sskj.aex.common.adapter.BaseAdapter;
//import com.sskj.aex.common.adapter.ViewHolder;
//import com.sskj.aex.common.rxbus2.NetSubScriber;
//import com.sskj.aex.m.bean.Currency;
//import com.sskj.aex.m.bean.bean.NewStock;
//import com.sskj.aex.p.fragment.MarketFragmentPst;
//import com.sskj.aex.utils.ClickUtil;
//import com.sskj.aex.utils.GsonUtil;
//import com.sskj.aex.utils.RxSchedulersHelper;
//import com.sskj.aex.v.activity.MainActivity;
//import com.sskj.aex.v.activity.MarketDetailActivity;
//import com.sskj.aex.v.base.BaseFragment;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.Unbinder;
//import io.reactivex.Flowable;
//
///**
// * Created by Lee on 2018/2/28 0028.
// */
//
//public class MarketFragmentHome extends BaseFragment<MainActivity, MarketFragmentPst> {
//
//    @BindView(R.id.recyclerview)
//    RecyclerView mRecyclerview;
//    @BindView(R.id.smartrefresh)
//    SmartRefreshLayout mSmartrefresh;
//    private MarketListFragment marketListFragment;
//    private BaseAdapter<NewStock> adapter;
//    private List<NewStock> stockList = new ArrayList<>();
//
//    @Override
//    public int getLayoutId() {
//        return R.layout.fragment_market_home;
//    }
//
//    @Override
//    public MarketFragmentPst getPresenter() {
//        return new MarketFragmentPst();
//    }
//
//    @Override
//    public void onHiddenChanged(boolean hidden) {
//        super.onHiddenChanged(hidden);
//        if (mPresenter != null) {
//            if (!hidden) {
//                mPresenter.getData(true);
//                mPresenter.initWebSocket(0);
//            } else {
//                mPresenter.closeWebSocket();
//            }
//        }
//    }
//
//
//    public void openWebSocket() {
//        if (!isHidden()) {
//            if (mPresenter != null) {
//                mPresenter.initWebSocket(0);
//            }
//        }
//    }
//
//    @Override
//    public void onPause() {
//        super.onPause();
//        if (mPresenter != null) {
//            mPresenter.closeWebSocket();
//        }
//    }
//
//    @Override
//    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
//        super.onViewCreated(view, savedInstanceState);
//
//        mSmartrefresh.setEnableLoadMore(false);
//        ClassicsHeader classicsHeader = new ClassicsHeader(getActivity());
//        classicsHeader.setBackgroundColor(getResources().getColor(R.color.background));
//        mSmartrefresh.setRefreshHeader(classicsHeader);
//        mSmartrefresh.setOnRefreshListener(refreshLayout1 ->
//        {
//            mSmartrefresh.finishRefresh();
//            mPresenter.getData(false);
//        });
//        mRecyclerview.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
//
//        mRecyclerview.setNestedScrollingEnabled(false);
//        initAdapter();
//    }
//
//    private void initAdapter() {
//        adapter = new BaseAdapter<NewStock>(R.layout.recy_item_market, new ArrayList<>(), mRecyclerview) {
//            @Override
//            public void bind(ViewHolder injector, NewStock stock) {
//                TextView price = injector.getView(R.id.item_price);
//                injector.setText(R.id.item_price, stock.getPrice());
//                String name[] = stock.getName().split("_");
//                if (name != null) {
//                    injector.setText(R.id.item_type_name, name[0]);
//                } else {
//                    injector.setText(R.id.item_type_name, stock.getName());
//                }
//
//                if (stock.getName().toLowerCase().contains("btc")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_btc);
//                } else if (stock.getName().toLowerCase().contains("bch")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_bch);
//                } else if (stock.getName().toLowerCase().contains("dash")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_dash);
//                } else if (stock.getName().toLowerCase().contains("eos")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_eos);
//                } else if (stock.getName().toLowerCase().contains("etc")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_etc);
//                } else if (stock.getName().toLowerCase().contains("eth")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_eth);
//                } else if (stock.getName().toLowerCase().contains("ltc")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_ltc);
//                } else if (stock.getName().toLowerCase().contains("zec")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_zec);
//                } else if (stock.getName().toLowerCase().contains("anda")) {
//                    injector.setImageResource(R.id.item_type_img, R.mipmap.icon_anda);
//                }
//
//                if (stock.getChange() > 0) {
//                    injector.setBackgroundRes(R.id.item_condition_layout, R.drawable.shape_rectangle_green_r5);
//                    if (stock.isUpdate()) {
//                        colorAnim(price, true);
//                        stock.setUpdate(false);
//                    }
//                } else if (stock.getChange() == 0) {
//                    injector.setBackgroundRes(R.id.item_condition_layout, R.drawable.shape_rectangle_gray_r5);
//                } else {
//                    injector.setBackgroundRes(R.id.item_condition_layout, R.drawable.shape_rectangle_red_r5);
//                    if (stock.isUpdate()) {
//                        colorAnim(price, false);
//                        stock.setUpdate(false);
//                    }
//                }
////                injector.setText(R.id.item_hight_price, String.format(App.INSTANCE.getString(R.string.strMarketFragmentHome210), stock.getHigh()));
////                injector.setText(R.id.item_low_price, String.format(App.INSTANCE.getString(R.string.strMarketFragmentHome211), stock.getLow()));
//                injector.setText(R.id.item_condition, stock.getChangeRate());
//
//                ClickUtil.click(injector.getView(R.id.market_item), () -> {
//                    if (mActivity.mDrawerIsOpen) {
//                        mActivity.closeDrawerLayout();
//                        mActivity.updateCurrentStock(stock, Currency.BTC);
//                        mActivity.upDateFragment(mActivity.index);
//                    } else {
//                        mActivity.updateCurrentStock(stock, Currency.BTC);
//                        MarketDetailActivity.start(getActivity(), stock, 1);
//                    }
//                });
//
//
//            }
//
//        };
//
//        adapter.setEmtyView();
//    }
//
//    public void colorAnim(TextView textView, boolean update) {
//        ValueAnimator animator = ValueAnimator.ofFloat(0, 3);
//        animator.setDuration(1000);
//        animator.setRepeatCount(0);
//        animator.addUpdateListener(animation -> {
//            float x = (float) animation.getAnimatedValue();
//            if (x == 0) {
//                textView.setTextColor(update ? getResources().getColor(R.color.market_up) : getResources().getColor(R.color.market_down));
//            } else if (x == 3) {
//                textView.setTextColor(getResources().getColor(R.color.text_color));
//            }
//        });
//        animator.start();
//    }
//
//    public void setData(List<NewStock> datas) {
//        if (datas.size() > 0) {
//            stockList = datas;
//            mActivity.mTransactionCurrentStock = stockList.get(0);
//            mActivity.mTransactionCurrentStockName = stockList.get(0).getName();
//            mActivity.mCurrentStock = stockList.get(0);
//            mActivity.mCurrentStockName = stockList.get(0).getName();
//            adapter.setNewData(stockList);
////            stopLoading();
////            isLoaded = true;
//            openWebSocket();
//        }
//    }
//
//    public void update(String s) {
//        Flowable.just(s)
//                .compose(RxSchedulersHelper.transformer())
//                .map(s1 -> GsonUtil.GsonToBean(s1, NewStock.class))
//                .subscribe(new NetSubScriber<NewStock>() {
//                    @Override
//                    public void onSuccess(NewStock newStock) {
//                        for (int i = 0; i < stockList.size(); i++) {
//                            if (stockList.get(i).getCode().equals(newStock.getCode())) {
//                                newStock.setUpdate(true);
//                                stockList.set(i, newStock);
//                                if (newStock.getName().contains(mActivity.mCurrentStockName)) { //TODO 这里做杠杆交易界面，全球币种 价格刷新
//                                    mActivity.mCurrentStock = newStock;
//                                } else if (newStock.getName().contains(mActivity.mTransactionCurrentStockName)) {
//                                    mActivity.mTransactionCurrentStock = newStock;
//                                }
//                            }
//                        }
//                        if (adapter != null) {
//                            adapter.notifyDataSetChanged();
//                        }
//                    }
//                });
//
//    }
//
//}
